package com.yeban.javase.day10.swing_learn;

import javax.swing.*;
import java.awt.*;

/**
 * @Desc TODO
 * @Author yeban
 * @Date 2025/10/19
 *
 * 画布
 */
public class MyPanel extends JPanel {

    // 宽、高、位置(x, y)、颜色( RGB )
    public MyPanel(int weight, int height, int x, int y, int red, int green, int blue) {
        // 设置宽高以及出现位置
        this.setBounds(x,y,weight,height);
        // 设置背景色
        this.setBackground(new Color(red,green,blue));
    }

    public static void main(String[] args) {
        // 创建JPanel桌布
        MyPanel p1 = new MyPanel(200, 200, 0, 0, 200, 100, 100);
        MyPanel p2 = new MyPanel(200, 200, 200, 0, 100, 200, 100);
        MyPanel p3 = new MyPanel(200, 200, 200, 200, 100, 100, 200);
        MyPanel p4 = new MyPanel(200, 200, 0, 200, 150, 150, 150);

        // 创建JFrame窗体
        MyInnerFrame frame = new MyInnerFrame();

        // 获取JFrame容器
        Container container = frame.getContentPane();

        // 给容器中添加组件
        container.add(p1);
        container.add(p2);
        container.add(p3);
        container.add(p4);

        // Frame 设置可见
        frame.setVisible(true);

    }
}

class MyInnerFrame extends JFrame {

    public MyInnerFrame() {
        // 设置标题
        this.setTitle("这时第一个JFrame");

        // 设置大小
        // this.setSize(500, 500);
        this.setSize(new Dimension(400, 436));

        // 设置窗口出现位置     居中显示
        this.setLocationRelativeTo(null);

        // 设置出现
        this.setVisible(true);

        // 设置关闭方式
        // DISPOSE_ON_CLOSE     消失
        // DO_NOTHING_ON_CLOSE  什么也不做
        // EXIT_ON_CLOSE        关闭并退出
        // HIDE_ON_CLOSE        隐藏
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 设置不可拖拽
        this.setResizable(false);

    }
}